#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

//int int_mycmp(const void* pa, const void* pb)
//{
//	return(*(int*)pa - *(int*)pb);
//}
//
//int main()
//{
//	int arr[] = { 2, 4, 5, 8, 9, 10, 3, 1, 6, 7 };
//	int sz = sizeof(arr) / sizeof(arr[0]);
//	qsort(arr, sz, sizeof(arr[0]), int_mycmp);
//	int i = 0;
//	for (i = 0; i < sz; i++)
//	{
//		printf("%d ", arr[i]);
//	}
//	return 0;
//}

//struct str
//{
//	char name[20];
//	int age;
//};
//
//int my_comp_name(const void* pa, const void* pb)
//{
//	return strcmp(((struct str*)pa)->name, ((struct str*)pb)->name);
//}
//
//int my_comp_age(const void* pa, const void* pb)
//{
//	return ((struct str*)pa)->age - ((struct str*)pb)->age;
//}
//
//void test2()
//{
//	struct str s[] = { {"zhangsan", 20}, {"lisi", 30}, {"wangwu", 15} };
//	int sz = sizeof(s) / sizeof(s[0]);
//	qsort(s, sz, sizeof(s[0]), my_comp_name);
//	for (int i = 0; i < sz; i++)
//	{
//		printf("name :%-10s age :%d\n", s[i].name, s[i].age);
//	}
//	printf("\n");
//}
//
//void test3()
//{
//	struct str s[] = { {"zhangsan", 20}, {"lisi", 30}, {"wangwu", 15} };
//	int sz = sizeof(s) / sizeof(s[0]);
//	qsort(s, sz, sizeof(s[0]), my_comp_age);
//	for (int i = 0; i < sz; i++)
//	{
//		printf("name :%-10s age :%d\n", s[i].name, s[i].age);
//	}
//}
//
//int main()
//{
//	test2();
//	test3();
//	return 0;
//}



int main()
{
	int arr[] = { 2, 5, 7, 9, 3, 1, 4, 6, 8, 10 };
	int sz = sizeof(arr) / sizeof(arr[0]);
	my_qsort(arr, sz, sizeof(arr[0], my_comp);
	for (int i = 0; i < sz; i++)
	{

	}
	
	return 0;
}


